Platform-based IC (integrated circuit) design is a powerful concept for coping with the increased pressure on time-to-market, design and manufacturing costs encountered in the current IC market. A platform is a large-scale, high-complexity semiconductor device that includes one or more of the following elements: (1) memory; (2) a customizable array of transistors; (3) an IP (intellectual property) block; (4) a processor, e.g., an ESP (embedded standard product); (5) an embedded programmable logic block; and (6) interconnect. RapidChip™ developed by LSI Logic Corp. is an instance of a platform. The basic idea behind the platform-based design is to avoid designing and manufacturing a chip from scratch. Some portion of the chip's architecture is predefined for a specific type of application. Through extensive design reuse, the platform-based design may provide faster time-to-market and reduced design cost.
Under a platform approach, there are two distinct steps entailed in creating a final end-user product: a prefabrication step and a customization step. In a prefabrication step, a slice is built on a wafer. A slice is a pre-manufactured chip in which all silicon layers have been built, leaving the metal layers or top metal layers to be completed with the customer's unique IP. For example, RapidSlice™ developed by LSI Logic Corp. is an instance of a slice. One or more slices may be built on a single wafer. It is understood that a slice may include one or more bottom metal layers or may include no metal layers at all. In a preferred embodiment of the prefabrication step, portions of the metal layers are pre-specified to implement the pre-defined blocks of the platform and the diffusion processes are carried out in a wafer fab. The base characteristics, in terms of the IP, the processors, the memory, the interconnect, the programmable logic and the customizable transistor array, are all pre-placed in the design and pre-diffused in the slice. However, a slice is still fully decoupled because the customer has not yet introduced the function into the slice. In a customization step, the customer-designed function is merged with the pre-defined blocks and the metal layers (or late-metal components) are laid down, which couple the elements that make up the slice built in the wafer fab, and the customizable transistor array is configured and given its characteristic function. In other embodiments, early-metal steps may be part of the pre-fabricated slice to reduce the time and cost of the customization step, resulting in a platform which is more coupled and specific. It is understood that a prefabrication step and a customization step may be performed in different foundries. For example, a slice may be manufactured in one foundry. Later, in a customization step, the slice may be pulled from inventory and metalized, which gives the slice its final product characteristics in a different foundry.
A slice such as RapidSlicem™ may contain several RRAMs (Reconfigurable RAMs, or Redundant RAMs, or RapidSlice™ RAMs). Each RRAM is a set of memories of the same type that are placed compactly. RRAMs include built-in testing and self-repairing components and include a set of tools for mapping arbitrary customer memories (logical memories) to the memories from the matrix (physical memories). All RRAM memory ports are ports of customer memories. Ports of memories from the matrix are invisible from outside a RRAM. Thus, from the customer's point of view a RRAM is a set of customer memories.
A netlist describes the connectivity of an IC design. The problem of converting a netlist from one library to another often rises up during the development of chips based on the RapidChip™ technology, FPGA technology, and/or any other technology that deals with a restricted set of primitive cells. In particular, this problem arises when memory is mapped to RRAM. The memory need be converted to a tiling netlist which includes logic cells, flip-flops and some memories. The logic need be translated to the library {NAND, NOR} because only these cells are pre-diffused in RRAMs and thus can be used in the tiling netlist.
Assume a netlist which contains logic cells AND, OR and NOT only. In order to map the netlist to some technology that uses only the restricted set of primitive cells such as NAND and NOR cells, this netlist has to be converted from a first library {AND, OR, NOT} into a second library {NAND, NOR}. Conventionally, the following equalities may be used to solve the problem:NOT(X)=NAND(X,X)AND(X,Y)=NAND(NAND(X,Y), NAND(X,Y))OR(X,Y)=NOR(NOR(X,Y), NOR(X,Y))However, this method may greatly increase the depth and the number of cells of the netlist.
Thus, it is desirable to provide a method and system to address the foregoing described problems.